package com.acxy.ants.common.kit;

import java.lang.reflect.Method;

/**
 * @author MrShun
 * @version 1.0
 * @Date 2017-06-23
 */
public class Base64Kit {

    /***
     * encode by Base64
     */
    public static String encodeBase64(byte[]input) {
        try {
            Class clazz = Class.forName("com.sun.org.apache.xerces.internal.impl.dv.util.Base64");
            Method mainMethod = clazz.getMethod("encode", byte[].class);
            mainMethod.setAccessible(true);
            Object retObj = mainMethod.invoke(null, new Object[]{input});
            return (String) retObj;
        }catch (Exception e){
            e.printStackTrace();
            return null;
        }
    }
    /***
     * decode by Base64
     */
    public static byte[] decodeBase64(String input){
        try {
            Class clazz=Class.forName("com.sun.org.apache.xerces.internal.impl.dv.util.Base64");
            Method mainMethod= clazz.getMethod("decode", String.class);
            mainMethod.setAccessible(true);
            Object retObj=mainMethod.invoke(null, input);
            return (byte[])retObj;
        }catch (Exception e){
            e.printStackTrace();
            return null;
        }
    }
}
